Skip to content

Publish Terminal.Gui.Interop.Spectre to NuGet#5421

Merged
tig merged 3 commits into
developfrom
copilot/terminal-gui-interop-publishing
May 27, 2026
Merged

Publish Terminal.Gui.Interop.Spectre to NuGet#5421
tig merged 3 commits into
developfrom
copilot/terminal-gui-interop-publishing

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 26, 2026

Fixes

Terminal.Gui.Interop.Spectre was packable but excluded from the publish workflow. Releases only published Terminal.Gui, leaving the interop package absent from NuGet.

Proposed Changes/Todos

  • Publish workflow
    • Build the interop project as part of release packaging.
    • Pack Terminal.Gui.Interop.Spectre with symbols.
    • Push the interop .nupkg to NuGet.org.
  • Build validation
    • Pack Terminal.Gui.Interop.Spectre during CI package validation.
  • Workflow docs
    • Document that both packages are built and published.

Pull Request checklist:

  • I've named my PR in the form of "Fixes #issue. Terse description."
  • My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
  • My code follows the Terminal.Gui library design guidelines
  • I ran dotnet test before commit
  • I have made corresponding changes to the API documentation (using /// style comments)
  • My changes generate no new warnings
  • I have checked my code and corrected any poor grammar or misspellings
  • I conducted basic QA to assure all features are working

Copilot AI assigned Copilot and tig May 26, 2026
Copilot AI linked an issue May 26, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Fix Terminal.Gui.Interop not being published Publish Terminal.Gui.Interop.Spectre to NuGet May 26, 2026
Copilot AI requested a review from tig May 26, 2026 20:08
Copilot finished work on behalf of tig May 26, 2026 20:08
@tig tig marked this pull request as ready for review May 26, 2026 20:19
@tig tig requested a review from Copilot May 26, 2026 20:19
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the CI/CD workflows so the Terminal.Gui.Interop.Spectre NuGet package is built, packed, and published alongside Terminal.Gui, and documents that behavior in the workflow README.

Changes:

  • Publish workflow: add explicit workflow permissions and pack/push Terminal.Gui.Interop.Spectre to NuGet.org.
  • Build validation: pack Terminal.Gui.Interop.Spectre as part of package validation.
  • Workflow docs: update README to mention packing/publishing both packages.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/README.md Documents that both Terminal.Gui and Terminal.Gui.Interop.Spectre are packed/published.
.github/workflows/publish.yml Adds contents: read permission and packs/pushes Terminal.Gui.Interop.Spectre to NuGet.org.
.github/workflows/build-validation.yml Adds a CI step to pack Terminal.Gui.Interop.Spectre into ./local_packages.

Comment thread .github/workflows/publish.yml Outdated
- name: Build Release Terminal.Gui
run: dotnet build Terminal.Gui/Terminal.Gui.csproj --no-incremental --nologo --force --configuration Release
- name: Build Release Terminal.Gui packages
run: dotnet build Terminal.Gui.Interop.Spectre/Terminal.Gui.Interop.Spectre.csproj --no-incremental --nologo --force --configuration Release
Comment thread .github/workflows/README.md Outdated
Comment on lines 69 to 71
- **Triggers**: push to `main`, `develop`, and tags `v*`(ignores `**.md`)
- Uses GitVersion to compute SemVer, builds Release, packs with symbols, and pushes to NuGet.org using `NUGET_API_KEY`
- Uses GitVersion to compute SemVer, builds Release, packs Terminal.Gui and Terminal.Gui.Interop.Spectre with symbols, and pushes both to NuGet.org using `NUGET_API_KEY`
- **Automatically triggered** by the Create Release workflow when a new tag is pushed
- Build Terminal.Gui.csproj in addition to Terminal.Gui.Interop.Spectre
  so that 'dotnet pack --no-build' succeeds for both packages
- Fix README trigger docs to match actual workflow (develop + tags, not main)
- Correct 'Additional actions' section to reflect tag-based triggers

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Terminal.Gui.Interop is not being published

3 participants